package com.whl.mybatis;

import java.util.List;

public interface BaseMapper<E> {
	/**
	 * 保存实体,包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public int insert(E entity);

	/**
	 * 保存实体,不包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public int insertSelective(E entity);

	/**
	 * 删除实体
	 * 
	 * @param key
	 *            主键
	 * @return
	 */
	public int deleteByPrimaryKey(Object key);

	/**
	 * 删除实体,包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public int delete(E entity);

	/**
	 * 删除实体,不包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public int deleteSelective(E entity);

	/**
	 * 更新实体,包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public int update(E entity);

	/**
	 * 更新实体,不包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public int updateSelective(E entity);

	/**
	 * 查询实体,包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public E selectByPrimaryKey(Object key);

	/**
	 * 根据参数查出实体，包括null值
	 * 
	 * @param entity
	 * @return
	 */
	public List<E> select(E entity);

	/**
	 * 根据参数查出实体
	 * 
	 * @param entity
	 * @return
	 */
	public List<E> selectSelective(E entity);

}
